This takes place, for example, both within the scope of the HIPERLAN/2 (High Performance Radio Local Area Network Type 2) standard (“ETSI TS 101 761-1 Broadband Radio Access Networks; Hiperlan Type 2; Physical Layer”) and within the scope of the standard “IEEE 802.11a—Part 11: Wireless LAN (WLAN) Medium Access Control and Physical Layer specifications: High-speed Physical Layer in the 5 GHz Band”. In addition to said original standard, information on the HIPERLAN/2 standard can be obtained on the Internet at www.hiperlan2.com. A summary of the HIPERLAN/2 standard can also be found in the article “HIPERLAN type 2 for broadband wireless communication” by J. Khun-Jush et al. in Ericsson Review No. 2, 2000, pages 108 to 119.
In both of said standards a similar transmission fault correction scheme is defined. It contains at the transmitter end (see FIG. 2).                1) a convolutional coder 1 with the coding rate 1/2,        2) a first puncturing element P1 for reducing redundancy of 12 bits (only in the case of ETSI HIPERLAN/2),        3) a second puncturing element (P2) for selecting the coding rate (coding rates: 1/2, 9/16, 2/3, 3/4) and        4) an interleaver 2 for avoiding burst errors and, at the receiver end (see FIG. 3), a corresponding de-interleaver 3 and corresponding depuncturing elements P2′, P1′.        
The puncturing process with the first puncturing element P1 is defined only in the ETSI standard mentioned above. The P2 rate of 2/3 occurs only in the IEEE standard mentioned above, the P2 rate of 9/16 occurs only in the ETSI standard. The following description relates essentially to said ETSI standard and to said IEEE standard. However, it is assumed to be generally quite clear that the present invention is not restricted to the application relating to the two said standards but rather can be applied generally to all transmitter/receiver devices in which the signal which is to be transmitted is punctured and/or interleaved after it has been coded and respectively de-interleaved and depunctured before it is decoded.
The coder 1 generates two parallel output bits for each input bit. The first puncturing element P1 removes a number of these output bits of the coder 1 according to a scheme in accordance with the following table 1. Where necessary, this puncturing scheme is applied to a group of 156 coded bits.
TABLE 1BitPuncturingTransmitted sequence (afterNumberingpatternparallel/serial conversion)0-155X: 1111110111111X0 Y0 X1 Y1 X2 Y2 X3 Y3 X4 Y4Y: 1111111111110X5 Y5 X7 Y6 X8 Y7 X9 Y8 X10 Y9X11 Y10 X12 Y11>156X: 1X0 Y0or in the case of IEEE Y: 1
There is a difference in speed between the inputting and the outputting of the first puncturing element P1. For a group of 13 bits, for example, the coder 1 generates 2×13 bits, while the output of the first puncturing element P1 is 24 bits long. For this reason, in order to adapt the different speeds between the coding output and the puncturing output to one another, FIFO memory elements are provided in specific sections, for example upstream or downstream of the first puncturing element P1 or even upstream of the convolutional coder 1.
A particular feature of the standards mentioned above is that each possible data rate is assigned a specific form of modulation and a specific coding rate (for the channel coding). The assignment is selected in such a way that the number of the coded bits per OFDM (Orthogonal Frequency Division Multiplexing) symbol, referred to as NCBPS, is always a multiple of the number of subchannels (48 elements). Table 3 represents the specification of the transmission modes. It becomes clear that a BPSK (Binary Phase Shift Keying) modulation and a QPSK (Quaternary Phase Shift Keying) modulation as well as two amplitude modulations (16 QAM: 16-ary Quadrature Amplitude Modulation; 64 QAM: 64-ary Quadrature Amplitude Modulation) are used. The ratio of the number of uncoded bits to the number of coded bits is referred to as the coding rate r.
In the fastest mode (54 Mbps, 64 QAM), when both the first puncturing process P1 and the second puncturing process P2 (code rate 3/4) are applied, 222 input bits for an OFDM symbol must be coded (see table 3). For this reason, there would be 2×222 bits at the output of the coder1, and 1×432 bits at the output of the first puncturing element P1.
According to the abovementioned standard definitions, the output data stream of the first puncturing element P1 is subjected again to serial/parallel conversion (S/P) before it is fed to the second puncturing element P2.
The second puncturing element P2 again removes a number of the input bits, specifically according to the scheme illustrated in the following table 2.
TABLE 2PuncturingTransmitted sequence (afterCode rates rpatternparallel/serial conversion)½X: 1X0 Y0Y: 1 9/16X: 111111110X0 Y0 X1 Y1 X2 Y2 X3 Y3 X4 X5(only with ETSI)X: 111101111Y5 X6 Y6 X7 Y7 Y8⅔X: 11X0 Y0 X1(only with IEEE)Y: 10¾X: 110X0 Y0 X1 Y2Y: 101
The second puncturing process can be based on the same assumptions regarding the difference in speed as were made above for the first puncturing process. For this reason, an FIFO memory element is required again.
The serial output data stream of the second puncturing element P2 is finally transmitted to the interleaver 2 which re-orders the bits according to a double scheme. The interleaving is defined in accordance with a double scheme only within one OFDM symbol.
In what follows, k will be the index for the coded bit before the first permutation, i will be the index after the first permutation and before the second permutation, and j will be the index after the second permutation directly before the assignment of modulation (the mapping).
The first permutation is defined by the following equation 1:
                              i          =                                                    NCBPS                16                            ·                              (                                  k                  ⁢                                                                          ⁢                  mod                  ⁢                                                                          ⁢                  16                                )                                      +                          floor              ⁢                                                          ⁢                              (                                  k                  16                                )                                                    ⁢                                  ⁢                                            where              ⁢                                                          ⁢              k                        =            0                    ,          1          ,          …          ⁢                                          ,                      NCBPS            -            1                                              (                  Eq          .                                          ⁢          1                )            
The function floor(.) refers to the largest natural number which does not exceed the parameter, mod is the natural modulo operator, and NCBPS refers to the number of coded bits per OFDM symbol (NCBPS=Number of Coded Bits per OFDM Symbol).
The second permutation is defined by the following equation 2:
                              j          =                                    s              ×              floor              ⁢                                                          ⁢                              (                                  i                  s                                )                                      +                                          (                                  i                  +                  NCBPS                  -                                      floor                    ⁡                                          (                                              16                        ×                                                  i                          NCBPS                                                                    )                                                                      )                            ⁢                                                          ⁢              mod              ⁢                                                          ⁢              s                                      ⁢                                  ⁢                                            where              ⁢                                                          ⁢              i                        =            0                    ,          1          ,          …          ⁢                                          ,                      NCBPS            -            1                                              (                  Eq          .                                          ⁢          2                )            
The value of s is determined by the number of coded bits per sub-carrier, NBPSC (=Number of Coded Bits Per Sub-Carrier) according to the following equation 3
                              s          .                =                  max          ⁡                      (                                          NBPSC                2                            ,              1                        )                                              (                  Eq          .                                          ⁢          3                )            
Table 3 combines the values of NBPSC and NCBPS for the various transmission modes with NUBPS (=Number of Uncoded Bits Per OFDM Symbol),
specifically both for the case in which the first puncturing element P1 which is illustrated in FIG. 1 is used and for the case in which the first puncturing element P1 is not applied.
TABLE 3Main parameters for various transmission modesTransmissionmode (type ofmodulationNUBPSNUBPSInterleaverand codingP1 notP1operationrate)NBPSCappliedappliedNCBPSmodeBPSK ½12426480BPSK ¾13639480QPSK ½24852961QPSK ¾2727896116 QAM ½496102192216 QAM 9/164108112192216 QAM ¾4144150192264 QAM ⅔6192198288364 QAM ¾62162222883
The inverse functions must be carried out at the receiver end (FIG. 3). In this case, each bit is assigned a reliability measure for the Viterbi decoder 4 which is represented by N-1 bits. It is possible to state that each bit is represented by N soft bits, one soft bit being one word (see FIG. 11).
In the depuncturing function, soft zeros are inserted in the received data stream where bits had been removed at the transmitter end. This is carried out downstream of the de-interleaver output according to tables 4 and 5 correspondingly by means of the first depuncturing element P2′ which corresponds in its method of operation to a reversal of the second puncturing element P2, and by means of the second depuncturing element P1′ which corresponds in its method of operation to a reversal of the first puncturing element P1.
TABLE 4Depuncturing scheme of the first depuncturingelement P2′CodingRate rReceived sequenceOutput sequence½X0 Y0X: X0Y: Y0 9/16X0 Y0 X1 Y1 X2 Y2 X3 Y3 X4 X5X: X0 X1 X2 X3 X4 X5Y5 X6 Y6 X7 Y7 Y8X6 X7 0Y: Y0 Y1 Y2 Y3 0 Y5 Y6Y7 Y8⅔X0 Y0 X1X: X0 X1Y: Y0 0¾X0 Y0 X1 Y2X: X0 X1 0Y: Y0 0 Y2
TABLE 5Depuncturing scheme of the seconddepuncturing element P1′BitnumberingReceived sequenceOutput sequence0-155X0 Y0 X1 Y1 X2 Y2 X3 Y3 X4X: X0 X1 X2 X3 X4 X5Y4 X5 Y5 X7 Y6 X8 Y7 X9 Y80 X7 X8 X9 X10 X11 X12X10 Y9 X11 Y10 X12 Y11Y: Y0 Y1 Y2 Y3 Y4 Y5Y6 Y7 Y8 Y9 Y10 Y11 0>156X0 Y0X: X0Y: Y0
As at the transmitter end, the same problems also arise here in terms of latency and speed adaptation.
Let us concentrate now on the first permutation (Equation 1). In table 6, the 288 input/output bits for the 64 QAM mode are illustrated.
TABLE 6Mode #3ki00118236354472590610871268144916210180111981221613234142521527016117191837195520732191221092312724145251632618127199282172923530253312713223320343835563674379238110391284014641164421824320044218452364625447272483492150395157527553935411155129561475716558183592016021961237622556327364465226640675868766994701127113072148731667418475202762207723878256792748058123824183598477859586113871318814989167901859120392221932399425795275966972498429960100781019610211410313210415010516810618610720410822210924011025811127611271132511443115611167911797118115119133120151121169122187123205124223125241126259127277128812926130441316213280133981341161351341361521371701381881392061402241412421422601432781449145271464514763148811499915011715113515215315317115418915520715622515724315826115927916010161281624616364164821651001661181671361681541691721701901712081722261732441742621752801761117729178471796518083181101182119183137184155185173186191187209188227189245190263191281192121933019448195661968419710219812019913820015620117420219220321020422820524620626420728220813209312104921167212852131032141212151392161572171752181932192112202292212472222652232832241422532226502276822866229104230122231140232158233176234194235212236230237248238266239284240152413324251243692448724510524612324714124815924917725019525121325223125324925426725528525616257342585225970260882611062621242631422641602651782661962672142682322692502702682712862721727335274532757127669277107278125279143280161281179282197283215284233285251286269287287
From Table 6 it is clear that if the input bits are written in columns into a matrix with 16 rows and 18 columns, the bits can then be read in rows from the top in the correct sequence. In addition, said column size 18 is precisely three times the bit number per carrier, or in other words precisely the magnitude which is required to carry out the second permutation. It is also possible to show that precisely the same principle can be applied to the other modes. It is sufficient to reduce the number of columns correspondingly to 12, 6 or 3 for 16 QAM, QPSK or BPSK.
The principle of the first permutation is summarized in FIG. 4. With the described method of execution, up to 288 cycles are required to write the contents of one complete OFDM symbol.
In summary it is therefore possible to state the following with respect to the prior art:                1) The delay which is introduced by the system according to the prior art is high since for puncturing a bit number is required which is twice as high as the number of input bits (maximum 432 cycles/OFDM symbol), and since all the input bits have to be read serially for interleaving (maximum 288 cycles/OFDM symbol). The latency is a critical parameter for the configuration of burst transmission systems such as, for example, WLAN.        2) FIFO elements are required in order to compensate the speed differences between the coder 1 and the first puncturing element P1 and between the first puncturing element P1 and the second puncturing element P2. In addition, FIFO elements are required in order to compensate the speed difference between the parallel inputting of the second puncturing element P2 and the serial inputting of the interleaver 2.        3) The clock system has to be fast enough in order to be able to conclude everything within one OFDM symbol. In an implementation with a clock frequency of 80 MHz, two OFDM symbols, and consequently two bit bursts which are supplied to the coder 1, are 3.6 μs*80 MHz=288 clock cycles away from one another (worst case with short guard interval with HIPERLAN; typical case: 4.0 μs*80 MHz=320 clock cycles). During this time, the input data must be read and stored somewhere. After this, it has to be read out in the correct sequence (Equation 1) and the second permutation (Equation 2) has to be carried out. The puncturing elements P1, P2 and the interleaver 2 take up to 432 clock cycles in order to read all the input bits. For this reason it is not possible to complete all the operations within one OFDM symbol, for which reason, according to the prior art, what are referred to as pipelines are produced for even-numbered and odd-numbered OFDM symbols by doubling the circuit or even multiplying it further.        